/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.latesis.bean;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;

/**
 *
 * @author Alan -  Desarrollo
 */
@Entity
@Table(name = "TBL_MARCACION")
public class MarcacionBean implements Serializable{    
    private Long id;
    
    private MovilBean movil;    
    private ChoferBean chofer;    
    private Date fechaIngreso;    
    private Date fechaSalida;    
    private Double latIngreso;    
    private Double lonIngreso;    
    private Double latSalida;    
    private Double lonSalida;
    
    //telefono donde esta logueado
    private String telefono;
    //estado actual
    private String estadoAtencion;
    private String gcmRegId;
    
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    public Long getId() {
        return id;
    }

    @ManyToOne(optional = false, fetch = FetchType.LAZY)
    @JoinColumn(name="movilId")
    public MovilBean getMovil() {
        return movil;
    }

    @ManyToOne(optional = false, fetch = FetchType.LAZY)
    @JoinColumn(name="choferId")
    public ChoferBean getChofer() {
        return chofer;
    }

    @Column(name="fechaIngreso", nullable = true)
    @Temporal(javax.persistence.TemporalType.TIMESTAMP)
    public Date getFechaIngreso() {
        return fechaIngreso;
    }

    @Column(name="fechaSalida", nullable = true)
    @Temporal(javax.persistence.TemporalType.TIMESTAMP)
    public Date getFechaSalida() {
        return fechaSalida;
    }

    @Column(name="latIngreso",nullable = true)
    public Double getLatIngreso() {
        return latIngreso;
    }

    @Column(name="lonIngreso",nullable = true)
    public Double getLonIngreso() {
        return lonIngreso;
    }

    @Column(name="latSalida",nullable = true)
    public Double getLatSalida() {
        return latSalida;
    }

    @Column(name="lonSalida",nullable = true)
    public Double getLonSalida() {
        return lonSalida;
    }
    
    @Column(name="telefono",nullable = false, length = 15)
    public String getTelefono() {
        return telefono;
    }

    @Column(name="estadoAtencion",nullable = false, length = 2)
    public String getEstadoAtencion() {
        return estadoAtencion;
    }

    @Column(name="gcmRegId",nullable = true)
    public String getGcmRegId() {
        return gcmRegId;
    }
    

    public void setId(Long id) {
        this.id = id;
    }

    public void setMovil(MovilBean movil) {
        this.movil = movil;
    }

    public void setChofer(ChoferBean chofer) {
        this.chofer = chofer;
    }

    public void setFechaIngreso(Date fechaIngreso) {
        this.fechaIngreso = fechaIngreso;
    }

    public void setFechaSalida(Date fechaSalida) {
        this.fechaSalida = fechaSalida;
    }

    public void setLatIngreso(Double latIngreso) {
        this.latIngreso = latIngreso;
    }

    public void setLonIngreso(Double lonIngreso) {
        this.lonIngreso = lonIngreso;
    }

    public void setLatSalida(Double latSalida) {
        this.latSalida = latSalida;
    }

    public void setLonSalida(Double lonSalida) {
        this.lonSalida = lonSalida;
    }    

    public void setTelefono(String telefono) {
        this.telefono = telefono;
    }

    public void setEstadoAtencion(String estadoAtencion) {
        this.estadoAtencion = estadoAtencion;
    }

    public void setGcmRegId(String gcmRegId) {
        this.gcmRegId = gcmRegId;
    }

    
}
